.menu {
  display: flex;
  flex-wrap: wrap;
  padding-left: 0;
  margin-bottom: 30px;
  list-style: none;
  border-bottom: $menu-border-width solid $menu-border-color;
  box-shadow: $menu-box-shadow;
  > .menu-item {
    padding: $menu-item-padding-y $menu-item-padding-x;
    cursor: pointer;
    transition: $menu-transition;
    &:focus,
    &:hover {
      text-decoration: none;
    }
    &.is-disabled {
      color: $menu-item-disabled-color;
      pointer-events: none;
      cursor: default;
    }
    &.is-active,
    &:hover {
      color: $menu-item-active-color;
      border-bottom: $menu-item-active-border-width solid
        $menu-item-active-color;
    }
  }
}

.submenu-item {
  position: relative;
  .submenu-title {
    display: flex;
    align-items: center;
  }
  .arrow-icon {
    margin-left: 3px;
    transition: transform 0.25s ease-in-out;
  }
  &:hover {
    .arrow-icon {
      transform: rotate(180deg);
    }
  }
}

.is-vertical {
  .arrow-icon {
    transform: rotate(0deg) !important;
  }
  &.is-opened {
    .arrow-icon {
      transform: rotate(180deg) !important;
    }
  }
}

.submenu {
  // 默认隐藏
  // display: none; // 使用 CSSTransition.unmountOnExit 属性后，不需要用css 控制显隐
  list-style: none;
  padding-left: 0;
  white-space: nowrap;
  .menu-item {
    padding: $menu-item-padding-y $menu-item-padding-x;
    cursor: pointer;
    transform: $menu-transition;
    color: $body-color;
    &.is-active,
    &:hover {
      color: $menu-item-active-color !important;
    }
  }
  &.menu-opened {
    // display: block; // 使用 CSSTransition.unmountOnExit 属性后，不需要用css控制显隐
  }
}

.menu-horizontal {
  > .menu-item {
    border-bottom: $menu-item-active-border-width solid transparent;
  }
  .submenu {
    position: absolute;
    background: $white;
    z-index: 100;
    top: calc(100% + 8px);
    left: 0;
    border: $menu-border-width solid $menu-border-color;
    box-shadow: $submenu-box-shadow;
  }
}

.menu-vertical {
  flex-direction: column;
  border-bottom: 0 none;
  border-right: $menu-border-width solid $menu-border-color;
  > .menu-item {
    border-left: $menu-item-active-border-width solid transparent;
    &.is-active,
    &:hover {
      border-bottom: 0px none;
      border-left: $menu-item-active-border-width solid $menu-item-active-color;
    }
  }
}
